home *** CD-ROM | disk | FTP | other *** search
- section lard,code
- opt d+,c+
-
- ;example of using DISKFONT library to change font in a window/screen
- ;done for OZRIK from bristol (forgot your group!)
-
- code: include dh0:include/system
-
- Lea GFXName,A1
- Moveq #0,D0
- CALLEXEC OpenLibrary
- Move.l D0,_GfxBase
- Beq Error
-
- Lea DosName,A1
- Moveq #0,D0
- CALLEXEC OpenLibrary
- Move.l D0,_DOSBase
- Beq Error
-
- Lea IntName,A1
- Moveq #0,D0
- CALLEXEC OpenLibrary
- Move.l D0,_IntuitionBase
- Beq Error
-
- Lea DFontName,a1
- Moveq #0,D0
- CALLEXEC OpenLibrary
- Move.l D0,_DiskfontBase
-
- lea BodyFont,a0
- CALLDISKFONT OpenDiskFont
- move.l d0,BodyFontHandle
-
- *-----------------------------------------------*
-
- move.l NEWSCREEN,a0
- CALLINT OpenScreen
- Move.l D0,_MyScrBase
- Beq CloseInt
-
- move.l NEWWINDOW,a0
- move.l d0,nw_Screen(a0)
- CALLINT OpenWindow
- Move.l D0,_MyWinBase
- Beq CloseInt
- Move.l D0,A0
- Move.l wd_RPort(A0),_MyWinRPort
- Move.l wd_UserPort(a0),_MyWinUserPort
-
- *-----------------------------------------------*
-
- .WaitLoop Move.l _MyWinUserPort,A0
- CALLEXEC WaitPort
- Move.l _MyWinUserPort,A0
- CALLEXEC GetMsg
- Move.l D0,A1
- Move.l im_Class(A1),D2 ;D2=IDCMP Flags Directly
- Move.w im_Code(A1),D3 ;D3=Data ie key why class=Rawkey
- Move.w im_Qualifier(A1),D4 ;D4=things like CTRL SHIFT
- Move.w im_MouseX(a1),D5 ;D5=MouseX Coordinate
- Move.w im_MouseY(a1),D6 ;D5=MouseY Coordinate
- Move.l im_IAddress(A1),D7 ;D7=Addres of Intuition Obj ie Gadget
- Movem.l D0-D7/A0-A6,-(A7)
- CALLEXEC ReplyMsg
- Movem.l (a7)+,D0-D7/A0-A6
-
- Cmp.l #CLOSEWINDOW,D2
- bne .WaitLoop
-
- .Exit Move.l _MyWinBase,A0
- CALLINT CloseWindow
-
- Move.l _MyScrBase,A0
- CALLINT CloseScreen
-
- *-------------------------------*
-
- CloseInt Move.l _IntuitionBase,A1
- CALLEXEC CloseLibrary
-
- Move.l _DOSBase,A1
- CALLEXEC CloseLibrary
-
- Move.l _DiskfontBase,A1
- CALLEXEC CloseLibrary
-
- move.l BodyFontHandle,a1
- CALLGRAF CloseFont
- move.l BodyFontHandle,a1
- CALLGRAF RemFont
-
- Move.l _GfxBase,A1
- CALLEXEC CloseLibrary
-
- *-------------------------------*
-
- Error Moveq #0,D0
- Rts
-
- *-------------------------------*
-
- _MyScrBase Dc.l 0
-
- _MyWinBase Dc.l 0
- _MyWinRPort Dc.l 0
- _MyWinUserPort Dc.l 0
- _MyWinVPort Dc.l 0
-
- BodyFontHandle: dc.l 0
-
- _IntuitionBase dc.l 0
- _DOSBase dc.l 0
- _GfxBase dc.l 0
- _DiskfontBase dc.l 0
-
- GFXName GRAFNAME
- IntName INTNAME
- DosName DOSNAME
- DFontName DISKFONTNAME
- even
-
-
- BodyFont: dc.l BodyFontName
- dc.w 8
- dc.b 0 ; style
- dc.b 0 ; flags
-
- BodyFontName:
- dc.b 'DPaint.font',0
- cnop 0,2
-
- *---------------------------------------------------
- * Gadgets created with PowerSource V3.0
- * which is (c) Copyright 1990-91 by Jaba Development
- * written by Jan van den Baard
- *---------------------------------------------------
-
- RenderTexts0:
- DC.B 1,0
- DC.B $00
- DC.W 17,23
- DC.L BodyFont
- DC.L RenderTextsIText0
- DC.L 0
-
- RenderTextsIText0:
- DC.B 'Hi martin, this is some text',0
- CNOP 0,2
-
- SpecialGadget:
- DC.L 0
- DC.W 0,0,1,1,$0003,0,$0001
- DC.L 0,0,RenderTexts0,0,0
- DC.W 0
- DC.L 0
-
- MyNewScreen:
- DC.W 0,0,640,256
- DC.W 2
- DC.B -1,-1
- DC.W $8000
- DC.W $0001
- DC.L 0,0,0,0
-
- new_window:
- DC.W 50,25,407,58
- DC.B 0,1
- DC.L $00000260
- DC.L $0002100F
- DC.L SpecialGadget,0
- DC.L new_window_title
- DC.L 0,0
- DC.W 150,50,640,256,$000F
-
- new_window_title:
- DC.B 'Work Window',0
- CNOP 0,2
-
-
- NEWWINDOW: DC.L new_window
- WDBACKFILL EQU 0
- NEWSCREEN: DC.L MyNewScreen
- FIRSTTEXT: DC.L RenderTexts0
-
-